// var s = "12ab3cd",
//   arr = s.split(/\d/);
// console.log(arr);
var deleteAndEarn = function (nums) {
  let maxVal = 0;
  for (let i of nums) {
    maxVal = Math.max(i, maxVal);
  }
  let arr = new Array(maxVal + 1).fill(0);
  // 将值转成数组的小标 从而成为”打家劫舍“的效果 相邻的元素不能取 重复的值进行累加即可
  for (let i of nums) {
    arr[i] += i;
  }
  let dp = [];
  if (arr.length == 1) return arr[0];
  if (arr.length == 2) {
    return Math.max(arr[0], arr[1]);
  }
  dp[0] = arr[0];
  dp[1] = Math.max(arr[0], arr[1]);
  for (let i = 2; i < arr.length; i++) {
    dp[i] = Math.max(dp[i - 1], dp[i - 2] + arr[i]);
  }
  return dp[arr.length - 1];
};
